// 1. 引入
import axios from "axios";
import store from '@/store'
// 2. 配置信息
let config = {
// 每次请求的协议、IP地址。 设置该配置后，每次请求路径都可以使用相对路径，例如"/admin/login"
    baseURL: "http://localhost:8080/record",
// 请求超时时间 ms
    timeout: 5000,
// 每次请求携带cookie
    withCredentials: true
}
// 3. 创建实例
const instance = axios.create(config)

instance.interceptors.request.use(
// 请求之前做些什么
    config => {
        // store.commit('user/setToken', '123')
        let token = store.getters['user/token'];
        // let token2 = store.state.user.token;
        if (token !== "") {
// 符合判断条件，做出响应处理，例如携带token
            config.headers.token = token
        } else {
// 如果不符合判断条件，直接 return 代表拦截该请求
        }
// 最后返回 config 代表继续发送请求
        return config
    },
// 请求错误做些什么
    err => console.log(new Error(err))
);

instance.interceptors.response.use(
// 对于成功响应的处理
    res => {
        if (res.data && "0" === res.data.code) {
            return res.data;
        }
        console.error("res", res)
        return Promise.reject("后台消息不符合规范")
    },
// 对于错误响应的处理
    err => console.log(new Error(err))
);

export default instance